package com.ft.core.enums;

import com.alibaba.fastjson.serializer.ObjectSerializer;
import com.alibaba.fastjson.serializer.SerializeConfig;

/**
 * @copyright (C), 2015-2019, XXX有限公司
 * @fileName: EnumIntValueSerializeConfig
 * @author: 李阳
 * @date: 2019/6/28 4:08
 * @description: 替换fastjson默认的获取序列化器的方法
 * @history: <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
public class EnumIntValueSerializeConfig extends SerializeConfig {

    @Override
    public ObjectSerializer getObjectWriter(Class<?> clazz) {
        if (clazz.isEnum() && IEnumIntValue.class.isAssignableFrom(clazz)) {
            //这里替换了原来的序列化器。
            return new EnumIntValueSerializer();
        }

        return super.getObjectWriter(clazz);
    }
}
